package com.ssy.lingxi.member.merchant.entity;

import javax.persistence.*;
import java.io.Serializable;

/**
 * 基础平台会员审核流程
 * @author 万宁
 * @version 2.0.0
 * @date 2021-11-09
 */
@Entity
@Table(schema = "public", name = "ms_mc_base_platform_process", indexes = {@Index(name = "ms_mc_base_platform_process_key_idx", columnList = "processKey")})
public class BasePlatformProcessDO implements Serializable {
    private static final long serialVersionUID = -2568507934892266211L;

    @Id
    @GeneratedValue(strategy= GenerationType.SEQUENCE,generator="base_platform_process_seq")
    @SequenceGenerator(sequenceName="ms_mc_base_platform_process_seq", name="base_platform_process_seq",allocationSize = 1)
    private Long id;

    /**
     * 流程对应的工作流的Key
     */
    @Column(columnDefinition = "varchar(50)")
    private String processKey;

    /**
     * 流程名称
     */
    @Column(columnDefinition = "varchar(200)")
    private String processName;

    /**
     * 流程类型，定义在MemberProcessTypeEnum中，0-会员注册流程
     */
    @Column
    private Integer processType;

    /**
     * 流程说明
     */
    @Column(columnDefinition = "varchar(400)")
    private String description;

    /**
     * 是否为空流程（即：无需审核）
     */
    @Column
    private Boolean emptyProcess;

    /**
     * 是否为默认的流程，如没有配置角色关联的流程，将选择此默认流程
     */
    @Column
    private Boolean defaultProcess;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getProcessKey() {
        return processKey;
    }

    public void setProcessKey(String processKey) {
        this.processKey = processKey;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public Integer getProcessType() {
        return processType;
    }

    public void setProcessType(Integer processType) {
        this.processType = processType;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Boolean getEmptyProcess() {
        return emptyProcess;
    }

    public void setEmptyProcess(Boolean emptyProcess) {
        this.emptyProcess = emptyProcess;
    }

    public Boolean getDefaultProcess() {
        return defaultProcess;
    }

    public void setDefaultProcess(Boolean defaultProcess) {
        this.defaultProcess = defaultProcess;
    }
}
